Modern telecommunications systems are characterized, among other features, by allowing terminal devices to attach and further communicate to/through it via different types of access network (e.g. including wired and wireless access networks), as well as to allow the terminal devices to change their current access dynamically as they move. The modern telecommunications systems are also characterized in that they also support a wide variety of terminal devices (including, not only traditional telephone terminals, but also self-operated terminals), and a plurality of different communication services (including, not only voice communications, but also voice, video, data transfer services, and combinations thereof). For example, the terminal device connectable to a modern telecommunications system can be a human-operated device, such as: a mobile or fixed phone, a laptop or a desktop computer, a gaming device, an e-book reader, etc; as well as a self-operated terminal device (usually called as machine-to-machine, M2M, communications device), such as a device configured to measure a certain parameter (e.g. temperature, humidity, electrical voltage, etc) and to establish a communication session through the telecommunications system to transmit the measured parameter to another terminal device or to an application server accessible via said system.
For simplicity, and since the features of the present invention do not depend on characteristics of the terminal device (e.g. whether it is human-operated device, or whether it is self-operated/M2M device), the term “terminal device”, or the abbreviation “UE”, are used hereinafter indistinctly to refer to any kind of terminal device.
Due to scalability reasons, telecommunications systems use to distribute the assignation of UEs along a plurality of available service servers, SS. Each SS of the plurality is a kind of server configured to control communication sessions originated by a certain UE (i.e. initially requested from the UE), and communication sessions addressed to the UE (i.e. initially requested by other UE, or application server, and intended to be terminated by said UE). In particular, the SS that is assigned to an UE is configured to receive, process, and further route, messages originated by the UE and/or messages addressed to the UE that relate to communication sessions originated by the UE and/or addressed to the UE, and which are established between the UE and another party accessible via the telecommunications system (e.g. another UE, or a certain application server). For example, the SS assigned to an UE receives the message sent from the UE requesting to initiate a communication session with other party (e.g. another UE or an application server); then, it stores information that a communication is initiated by the UE, finds a path to get the other party, and forwards a message towards the other party to set up the communication session. Similarly, for example, the SS assigned to an UE can receive a message from other party addressed to the UE requesting to initiate a communication session with the UE; then, it stores information that a communication session is addressed to the UE (i.e. terminates in the UE), and forwards a message to the UE to set up the communication session.
A telecommunications system generally assigns a certain SS of the plurality to a particular UE according to static and/or dynamic factors. The static factors comprise, for example, information about the capabilities to support certain telecommunication feature by a certain SS, or information about a certain per-user or per-UE distribution (e.g. a certain set of UEs or users are preferably assigned to a certain SS). The dynamic factors comprise, for example, information for distributing UEs to SSs according to the respective UE location (e.g. UEs physically located on a certain geographical area are preferably assigned to certain SS). Data information about factors for distributing the assignation of an UE to be served by a SS is referred hereinafter also as “SS capabilities”, and are commonly stored in relationship to identifiers of an UE and/or in relationship to identifiers of the user of an UE, (e.g. by a user database server, UDB, that will be later discussed). In short, the SS capabilities preferably comprise information usable by a server (e.g. an interrogating server, that will be later discussed) for selecting the most suitable SS to be assigned to an UE (e.g. upon a registration request received from the UE).
Due to the mobility of the UEs, and due that an UE can register and de-register in the telecommunications system, modern telecommunications systems usually incorporate a user database server (UDB). For security reasons, an UE already registered in the telecommunication system can (e.g. periodically) re-register in the system. The UDB is a kind of server where—among other data—information about the SS currently assigned to a registered UE is stored in relationship with, either or both: one or more identifiers of the UE (such as an identifier of a SIM card within the UE, an IMEI, etc), or in relationship with one or more identifiers specifically related with the user of the UE (such as a Session Initiation Protocol-Uniform Resource Identifier, SIP-URI, associated to said user and that can be used from various UEs). Both kind of identifiers are hereinafter referred as “user identifiers” for simplicity. The UDB can also store SS capabilities in respect to user identifiers of an UE; which can be usable to select one SS, among the plurality of SSs, when e.g. a UE that is not currently registered in the telecommunications system (e.g. it was turned-off) requests an initial registration in said system (e.g. it is turned-on later).
Because of the characteristics above, state of the art telecommunications systems use to incorporate also a kind of server—hereinafter referred to as “interrogating server”, IS-configured to interrogate the UDB for obtaining, either, the SS currently assigned to an UE, or the corresponding SS capabilities. The IS is generally utilized when a UE request a registration in the system (either: initial registration, or re-registration), and when a message requesting to initiate a communication session addressed towards a UE is received. In short, an IS is a server configured to obtain from the UDB information about, either, the SS currently assigned to the UE or the SS that can be assigned to the UE, and to forward a received message originated or terminating in said UE to said SS. Accordingly, the IS is configured to query the UDB to obtain, either, the SS currently assigned to the concerned UE, or the corresponding SS capabilities stored by the UDB, which are utilized by the IS for selecting a SS among the plurality.
The FIG. 1 illustrates schematically a telecommunication system as discussed above, and will be used to explain some of the problems faced by the state of the art.
FIG. 1 shows a telecommunications system (10) comprising: a plurality of SS (SS1, SS-2, SS-3), a UDB and a IS. Various UEs (UE-a to UE-z—only UEs “a”, “b” and “z” are shown for simplicity—) connect to the system 10 via one or more access networks (schematically represented by 101). In FIG. 1, the solid lines represent the path taken by the messages exchanged between the UEs and some of the nodes of the system 10, whilst dashed lines show inter-node communications. In particular, the UEs send and receive messages to the SSs, some of which are routed via the IS. The IS communicates with the UDB via an interface (102) that allows the IS to query the UDB for obtaining an identifier of the SS currently assigned to the UE or the corresponding SS capabilities for said UE (i.e. the SS capabilities that are stored by the UDB in respect of any of the user identifiers of the UE). Any of the SSs (SS1, SS-2, SS-3) is also configured to communicate via an interface (103) with the UDB. For example, the interface 103 allows a SS (e.g. SS-1) to indicate the UDB that it is the currently assigned SS to control communication sessions originated by a certain UE and/or addressed to said UE (e.g. UE-a), thereby asking the UDB to store, in relationship with a user identifier of certain UE, an identifier of a certain SS as the SS currently assigned to said UE (e.g.: an identifier of SS-1 is stored by the UDB in relationship with a user identifier of UE-a).
As an illustrating case, it can be assumed that at a certain time t0, for example: SS-1 is the SS currently assigned to a first set of UEs (say, UE-a to UE-g), SS-2 is the SS currently assigned to a second set of UEs (say, UE-h to UE-o), and that SS-3 is the SS currently assigned to a third set of UEs (say, UE-p to UE-z). The UE/SS assignation example above can, for example, be determined by criteria about the best and/or most suitable SS to be assigned (e.g. per UE and/or per SS capabilities). The prior art envisages that, for example, in case of failure of SS-1, the UEs that were (e.g. at t0) assigned to SS-1 can be reallocated to be served thereafter by another SS of the plurality (e.g. to SS-2). In this respect, the prior art envisages details so that the UDB gets updated from the SS that replaces another SS that failed in respect to an UE, so that an identifier of the—say—replacement SS is stored by the UDB as the SS currently assigned to the UE in substitution of the—say—failed SS. The prior art also envisages wherein the replacement SS is selected by an IS according to—at least—SS capabilities received from the UDB.
The prior art referred earlier comprises the 3GPP specification TS 23.380 V11.1.0. The document TS 23.380 discloses restoration procedures in a telecommunications system comprising an Internet Protocol Multimedia Subsystem, IMS; and, in particular, discloses procedures for replacing a SS (referred therein by as “Serving-Call Session Control Function”, S-CSCF) when a IS (referred therein as “Interrogating-Call Session Control Function”, I-CSCF) determines that a SS has failed (e.g.: TS 23.380, chapters 4.2.2 or 4.3.3).
Therefore—according to the prior art, and following the illustrating case referred above—, later, at a certain time t1 (t1>t0) the SS assignation per UE may have substantially changed and, for example, upon a failure of SS-1, the SS-2 has become—at time t1—the currently SS assigned, not only to its initially assigned set of UEs (i.e. UE-h to UE-o, as in t0), but also to the set of UEs that where earlier (i.e. in t0) assigned to SS-1 (i.e. UE-a to UE-g).
The feature disclosed by the prior art of replacing a faulty SS by another available SS allows—no doubt—the UEs to be served in a seamless and reliable manner by a telecommunications system. However, replacing SSs currently assigned to UEs has an impact in the telecommunication system, inasmuch as some SSs can get close to its limiting capacity whilst other SSs can be underused.
It is desirable to provide solutions for assigning UEs to SSs that allow providing for seamlessly controlling by any of the available SS of communication sessions originated by the UE and/or addressed to the UEs whilst, at the same time, providing for evenly distribute UEs among the available/most suitable SSs.